package cn.com.nes.site.service.equipment.archives;

import cn.com.nes.site.entity.PageData;
import cn.com.nes.site.entity.vo.project.*;
import cn.com.nes.site.service.equipment.archives.dto.CtceDictionaryTypeDto;
import cn.com.nes.site.service.equipment.archives.dto.DicSelectDto;

import java.util.List;

public interface PersonalProjectManageService {

    /**
     * 保存个人项目(清洁取暖)
     * @param vo 个人项目模型
     * @return
     */
    PageData savePersonalProjectForClean(PersonalProjectSaveForCleanVo vo) throws Exception;

    /**
     * 保存个人项目(设备厂商)
     * @param vo 个人项目模型
     * @return
     */
    PageData savePersonalProjectForManufacture(PersonalProjectSaveForManufactureVo vo) throws Exception;


    /**
     * 获取ctce字典下拉选
     * @param dicType 字典类别
     * @return
     */
    List<DicSelectDto> getCtceDicSelect(String dicType) throws Exception;


    /**
     * 安装协议分页查询
     * @param vo 安装协议分页查询条件模型
     * @return
     */
    PageData pageInstallProtocal(InstallProtocalPageVo vo) throws Exception;


    /**
     * 施工计划分页查询
     * @param vo 施工计划分页查询条件模型
     * @return
     */
    PageData pageConstructionPlan(ConstructionPlanPageVo vo) throws Exception;


    /**
     * 查询个人项目列表-分页
     * @param vo 个人项目分页查询模型
     * @return
     */
    PageData pagePersonalProject(PersonalProjectPageVo vo) throws Exception;


    /**
     * 查询项目详情
     * @param vo 查询模型
     * @return
     */
    PageData getPersonalProjectDetails(PersonalProjectDetailsQueryVo vo) throws Exception;


    /**
     * 查询清洁取暖字典列表
     * @return
     */
    List<CtceDictionaryTypeDto> getCtceDicAll();


    /**
     * 删除个人项目
     * 按地点删除（可批量）
     * 按设备删除（可批量）
     * @param vo 个人项目删除模型
     * @return
     */
    PageData deletePersonalProject(PersonalProjectDeleteVo vo) throws Exception;

}
